package com.dragon.manage.service;

import java.util.List;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dragon.manage.bean.AmusementInfo;
import com.dragon.manage.bean.AmusementType;
import com.dragon.manage.bean.GameName;
import com.dragon.manage.bean.ManageUser;
import com.dragon.manage.bean.MatchInfo;
import com.dragon.manage.bean.TeamInfo;

public interface IManageAmusementSerice {

	/**
	 * 获取战队信息
	 * @return
	 */
	public List<TeamInfo> getTeamList(int type) throws Exception;
	
	/**
	 * 获取战队信息根据id
	 * @param id
	 * @return
	 * @throws Exception
	 */
	public TeamInfo getTeamInfoById(int id) throws Exception;
	
	/**
	 * 删除比赛
	 * @param matchId
	 * @throws Exception
	 */
	public JSONObject deleteMatch(int matchId) throws Exception;
	
	/**
	 * 创建一场比赛
	 * @return
	 */
	public boolean createMatch(MatchInfo matchInfo) throws Exception;
	
	/**
	 * 竞猜内容
	 * @return
	 * @throws Exception
	 */
	public List<AmusementType> getAmusementTypeList() throws Exception;
	
	/**
	 * 获取竞猜内容
	 * @param id
	 * @return
	 * @throws Exception
	 */
	public AmusementType getAmusementTypeById(int id) throws Exception;
	
	/**
	 * 删除竞猜选项
	 * @param id
	 * @return
	 * @throws Exception
	 */
	public JSONObject deleteAmusementInfo(int id) throws Exception;
	
	/**
	 * 获取游戏列表
	 * @return
	 * @throws Exception
	 */
	public List<GameName> getGameNameList() throws Exception;
	
	/**
	 * 获取对应类型下游戏比赛列表
	 * @param type
	 * @return
	 * @throws Exception
	 */
	public JSONObject getMatchInfoListByType(int type,int page) throws Exception;
	
	/**
	 * 获取比赛信息
	 * @return
	 * @throws Exception
	 */
	public MatchInfo getMatchInfoById(int id)  throws Exception;
	
	/**
	 * 更新比赛信息
	 * @return
	 * @throws Exception
	 */
	public JSONObject updateMatchInfo(MatchInfo matchInfo,ManageUser manageUser)  throws Exception;
	
	/**
	 * 创建一个下注信息
	 * @param amusetInfo
	 * @return
	 * @throws Exception
	 */
	public boolean createAmusement(AmusementInfo amusementInfo)  throws Exception;
	
	/**
	 * 获取下注信息
	 * @return
	 * @throws Exception
	 */
	public AmusementInfo getAmusementInfoById(int id) throws Exception;
	
	/**
	 * 获取某个比赛的下注列表
	 * @param matchId
	 * @return
	 * @throws Exception
	 */
	public JSONArray getAmusementInfoList(int matchId) throws Exception;
	
	/**
	 * 更新开盘信息
	 * @param amusementInfo
	 * @throws Exception
	 */
	public void updateAmusementInfo(AmusementInfo amusementInfo)  throws Exception;
}
